Conventionally, selections of software architecture to implement the integration of services in a computing system are subjective and based on the personal experience of each individual making software architecture recommendations. These individual experience-driven recommendations lead to inconsistent, unreliable, non-scalable software architecture recommendations that are indefensible to clients who request the integrated services. Because of the inconsistent nature of the aforementioned recommendations, selecting certain recommended software architectures results in unnecessarily expensive implementations of service integration. Thus, there exists a need to overcome at least one of the preceding deficiencies and limitations of the related art.